package com.example.tests;

import static com.example.tests.framework.ContactHelper.MODIFICATION;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;

import java.util.Random;

import org.testng.annotations.Test;

import com.example.utils.SortedListOf;

public class ContactModificationTests extends TestBase {
	
	@Test (dataProvider = "randomValidContactGenerator")
	public void modifySomeContact(ContactData contact) {
		SortedListOf<ContactData> oldList = appManager.getContactHelper().getContacts();
		Random rnd = new Random();
		int index = rnd.nextInt(oldList.size() - 1);
	
		appManager.getContactHelper().modifyContact(index, contact, MODIFICATION);
			
		SortedListOf<ContactData> newList = appManager.getContactHelper().getContacts();
		assertThat(newList, equalTo(oldList.without(index).withAdded(contact)));
	}
}
